#include <stdio.h>

//int main()
//{
//	int n, m; //n表示行，m表示列
//	scanf("%d%d", &n, &m);
//	int arr[n][m];
//	int n1, m1;   // n1,m1分别为行和列的下标
//	for (n1 = 0; n1 < n; n1++)
//	{
//		for (m1 = 0; m1 < m; m1++)
//		{
//			scanf("%d", &arr[n1][m1]);
//		}
//	}
//	int arr1[m][n];
//	for (n1 = 0; n1 < m; n1++)
//	{
//		for (m1 = 0; m1 < n; m1++)
//		{
//			arr1[n1][m1] = arr[m1][n1];
//		}
//	}
//	for (n1 = 0; n1 < m; n1++)
//	{
//		for (m1 = 0; m1 < n; m1++)
//		{
//			printf("%d ", arr1[n1][m1]);
//		}
//		printf("\n");
//	}
//	return 0;
//}
int main()
{
	int n,m; //n为arr1的长度,m为arr2的长度
	int n1,m1;//n1为arr1的元素下标，m1为arr2的元素下标
	scanf("%d%d",&n,&m);
	int arr1[n];
	int arr2[m];
	printf("arr1数组的元素个数为%d\n输入arr1数组的元素>:  ",n);
	for(n1=0;n1<n;n1++)
	{
		scanf("%d",&arr1[n1]); 
	}
	printf("arr2数组的元素个数为%d\n输入arr2数组的元素>:  ",m);
	for(m1=0;m1<m;m1++)
	{
		scanf("%d",&arr2[m1]);
	}
	int i;//i为arr的元素下标
	int arr[n+m];
	//将arr1的元素放入arr中
	//将arr2元素放入arr中
	for(i=0;i<n+m;i++)
	{
		if(i<n)
		arr[i]=arr1[i];
	    else if(i>=n)
		{
			arr[i]=arr2[i-n];
		}
	}
	int num = 0;
	int i1; // i1是用来依次增加arr的下标，来逐个比较
	for(i=0;i<n+m;i++)
	{
		num= i ;
		for(i1=i;i1<n+m;i1++)//i1=i 是为了从arr[num]处开始往后比较
		{
			if(arr[num]>=arr[i1])
			{
				int temp = 0;
				temp = arr[i1];
				arr[i1]=arr[num];
				arr[num]=temp;
			}
			
		}
	}
	for(i=0;i<n+m;i++)
	{
		printf("%d ",arr[i]);
	}
	return 0;
	
}
